package beans.factory.config;

import beans.BeansException;

/**
 * @Author: Take-off
 * @Description: //TODO 用于修改新实例化 Bean 对象的扩展点
 * @Date: 3:33 PM 2023/2/18
 * @Param:
 * @return:
 **/
public interface BeanPostProcessor {

    /**
     * @Author: Take-off
     * @Description: //TODO 在 Bean 对象执行初始化方法之前，执行此方法
     * @Date: 3:36 PM 2023/2/18
     * @Param: [bean, beanName]
     * @return: java.lang.Object
     **/
    Object postProcessBeforeInitialization(Object bean,String beanName) throws BeansException;

    /**
     * @Author: Take-off
     * @Description: //TODO 在 Bean 对象执行初始化方法之后，执行此方法
     * @Date: 3:36 PM 2023/2/18
     * @Param: [bean, beanName]
     * @return: java.lang.Object
     **/
    Object postProcessAfterInitialization(Object bean,String beanName) throws BeansException;;
}
